package com.justgame.project.service.just.service.basic;

import com.justgame.project.service.just.entity.JustGameTypeMap;
import com.justgame.project.service.just.query.JustGameTypeMapQuery;
import com.justgame.project.service.just.wrapper.JustGameTypeMapWrapper;
import com.justgame.project.base.servcice.IBasicService;
import java.lang.Long;
import org.springframework.util.Assert;
import org.springframework.lang.NonNull;

/**
 *
 * 游戏类型映射表服务自定义查询类
 *
 * @@tableName just_game_type_map
 * @author Zwb
 */
@SuppressWarnings("all")
public interface BasicJustGameTypeMapService extends IBasicService<JustGameTypeMapQuery,JustGameTypeMap,JustGameTypeMapWrapper> {

   /**
    * 新增创建
    * @param typeId 游戏类型信息
    * @param gameInfoId 游戏信息
    */
   default JustGameTypeMap baseAdd(Long typeId, Long gameInfoId){
      JustGameTypeMap justGameTypeMap = new JustGameTypeMap();
      justGameTypeMap.setTypeId(safeValue(typeId, null));
      justGameTypeMap.setGameInfoId(safeValue(gameInfoId, null));
      save(justGameTypeMap);
      return justGameTypeMap;
   }

   /**
    * 更新
    * @param typeId 游戏类型信息
    * @param gameInfoId 游戏信息
    */
   default boolean baseUpdate(@NonNull JustGameTypeMap justGameTypeMap,Long typeId, Long gameInfoId){
      Assert.notNull(typeId,"必须提供游戏类型信息");
      Assert.notNull(gameInfoId,"必须提供游戏信息");
      Assert.notNull(justGameTypeMap.getId(),"必须提供主键ID");
      justGameTypeMap.setTypeId(safeValue(typeId, null));
      justGameTypeMap.setGameInfoId(safeValue(gameInfoId, null));
      return updateById(justGameTypeMap);
   }

}